20 research outputs found

    Towards Model-Driven Validation of Autonomic Software Systems in Open Distributed Environments

    Get PDF
    New distributed systems are running onto fluctuating environments (e.g. ambient or grid computing). These fluctuations must be taken into account when deploying these systems. Autonomic computing aims at realizing programs that implement self-adaptation behaviour. Unfortunately in practice, these programs are not often statically validated, and their execution can lead to emergent undesirable behaviour. In this paper, we argue that static validation is mandatory for large autonomic distributed systems. We identify two kinds of validation that are relevant and crucial when deploying such systems. These validations affect the deployment procedures of software composing a system, as well as the autonomic policies of this system. Using our Dacar model-based framework for deploying autonomic software distributed architectures, we show how we tackle the problem of static validation of autonomic distributed system

    Applying OMG D&C Specification and ECA Rules for Autonomous Distributed Component-based Systems

    Get PDF
    Manual administration of complex distributed applications is almost impossible to achieve. On one side, work in autonomic computing focuses on systems that are able to maintain themselves, driven by high-level policies. Such a selfadministration relies on the concept of a control loop. On the other side, modeling is currently used to ease design of complex distributed systems. Nevertheless, at runtime, models remain useless, because they are decoupled from the running system which is subject to dynamic changes. The autonomic computing control loop involves an abstract representation of the system used to analyze the situation and to adapt the application properly. Our proposition, named Distributed Autonomous Component-based ARchitectures (Dacar), introduces models in the control loop. Using adequate models into the control loop, it is possible to design both the distributed systems and their evolution policies, and to execute them. The metamodel suggested in our work mixes both OMG Deployment and Configuration specification and the Event-Condition-Action (ECA) metamodels. This paper treats the different concerns that are present in the control loop and focuses on the concepts of the metamodel that are needed to express entities of the control loop. It also gives an overview of the current Dacar prototype and illustrated it on an ubiquitous application example

    Deploying on the Grid with DeployWare

    Get PDF
    In Proceedings of the 8th IEEE International Symposium on Cluster Computing and the Grid (TO APPEAR)International audienceIn this paper, we present DeployWare to address the deployment of distributed and heterogeneous software systems on large scale infrastructures such as grids. Deployment of software systems on grids raises many challenges like 1) the complexity to take into account orchestration of all the deployment tasks and management of software dependencies, 2) the heterogeneity of both physical infrastructures and software composing the system to deploy, 3) the validation to early detect errors before concrete deployments and 4) scalability to tackle thousands of nodes. To address these challenges, DeployWare provides a metamodel that abstracts concepts of the deployment, a virtual machine that executes deployment processes on grids from DeployWare descriptions, and a graphical console that allows to manage deployed systems, at runtime. To validate our approach, we have experimented DeployWare with a lot of software technologies, such as CORBA and SOA-based systems, on one thousand of nodes of Grid'5000, the french experimental grid infrastructure

    Une démarche orientée modèle pour déployer des systèmes logiciels répartis

    Get PDF
    Revues des Sciences et Technologies de l'Information - "L'Objet, logiciel, base de données, réseaux" (RSTI série)International audienceDeployment of distributed systems involves many heterogeneous technologies. The system administrator has to 1) master the deployment of each technology, 2) adapt it to machine properties and 3) execute it in respect with its order dependencies. These tasks are strongly prone to errors. In this article, we present DeployWare, a model-based approach for complex distributed systems deployment. This approach relies on a metamodel split in two parts. The first allows us to describe properties, dependencies, and actions to perform to deploy software. The second allows us to compose many software instances. This metamodel allows some behavioural deployment verifications to be performed. DeployWare models can be projected onto a component-based execution platform which manages automatically machine's heterogeneity and orchestration of dependencies.Le déploiement de systèmes distribués met en jeu de nombreuses technologies hétérogènes. L'administrateur système doit 1) maîtriser le déploiement de chaque logiciel, 2) l'adapter aux propriétés des machines et 3) l'exécuter en respectant l'ordre de ses dépendances. Ces tâches sont fortement propices aux erreurs. Dans cet article, nous présentons DeployWare, une approche à base de modèles pour le déploiement de systèmes distribués complexes. Cette approche repose sur un méta-modèle en deux parties. La première permet de décrire les propriétés, les dépendances et actions à effectuer pour déployer des logiciels. La seconde permet d'assembler des instances de logiciels. Ces deux parties sont réalisées de manière à rendre possible la vérification comportementale des procédures de déploiement et des systèmes. Les modèles DeployWare sont projetés vers une plate-forme d'exécution à base de composants qui gère automatiquement l'hétérogénéité des machines et l'orchestration des dépendances

    Towards Model-Driven Validation of Autonomic Software Systems in Open Distributed Environments

    Get PDF
    New distributed systems are running onto fluctuating environments (e.g. ambient or grid computing). These fluctuations must be taken into account when deploying these systems. Autonomic computing aims at realizing programs that implement self-adaptation behaviour. Unfortunately in practice, these programs are not often statically validated, and their execution can lead to emergent undesirable behaviour. In this paper, we argue that static validation is mandatory for large autonomic distributed systems. We identify two kinds of validation that are relevant and crucial when deploying such systems. These validations affect the deployment procedures of software composing a system, as well as the autonomic policies of this system. Using our Dacar model-based framework for deploying autonomic software distributed architectures, we show how we tackle the problem of static validation of autonomic distributed system

    Deploying on the Grid with DeployWare

    Get PDF
    In Proceedings of the 8th IEEE International Symposium on Cluster Computing and the Grid (TO APPEAR)International audienceIn this paper, we present DeployWare to address the deployment of distributed and heterogeneous software systems on large scale infrastructures such as grids. Deployment of software systems on grids raises many challenges like 1) the complexity to take into account orchestration of all the deployment tasks and management of software dependencies, 2) the heterogeneity of both physical infrastructures and software composing the system to deploy, 3) the validation to early detect errors before concrete deployments and 4) scalability to tackle thousands of nodes. To address these challenges, DeployWare provides a metamodel that abstracts concepts of the deployment, a virtual machine that executes deployment processes on grids from DeployWare descriptions, and a graphical console that allows to manage deployed systems, at runtime. To validate our approach, we have experimented DeployWare with a lot of software technologies, such as CORBA and SOA-based systems, on one thousand of nodes of Grid'5000, the french experimental grid infrastructure

    Une démarche orientée modèle pour déployer des systèmes logiciels répartis

    Get PDF
    Revues des Sciences et Technologies de l'Information - "L'Objet, logiciel, base de données, réseaux" (RSTI série)International audienceDeployment of distributed systems involves many heterogeneous technologies. The system administrator has to 1) master the deployment of each technology, 2) adapt it to machine properties and 3) execute it in respect with its order dependencies. These tasks are strongly prone to errors. In this article, we present DeployWare, a model-based approach for complex distributed systems deployment. This approach relies on a metamodel split in two parts. The first allows us to describe properties, dependencies, and actions to perform to deploy software. The second allows us to compose many software instances. This metamodel allows some behavioural deployment verifications to be performed. DeployWare models can be projected onto a component-based execution platform which manages automatically machine's heterogeneity and orchestration of dependencies.Le déploiement de systèmes distribués met en jeu de nombreuses technologies hétérogènes. L'administrateur système doit 1) maîtriser le déploiement de chaque logiciel, 2) l'adapter aux propriétés des machines et 3) l'exécuter en respectant l'ordre de ses dépendances. Ces tâches sont fortement propices aux erreurs. Dans cet article, nous présentons DeployWare, une approche à base de modèles pour le déploiement de systèmes distribués complexes. Cette approche repose sur un méta-modèle en deux parties. La première permet de décrire les propriétés, les dépendances et actions à effectuer pour déployer des logiciels. La seconde permet d'assembler des instances de logiciels. Ces deux parties sont réalisées de manière à rendre possible la vérification comportementale des procédures de déploiement et des systèmes. Les modèles DeployWare sont projetés vers une plate-forme d'exécution à base de composants qui gère automatiquement l'hétérogénéité des machines et l'orchestration des dépendances

    Une démarche orientée modèle pour le déploiement de systèmes en environnements ouverts distribués

    No full text
    Deployment is one of the most difficult software lifecycle step, and the less standardized. First, in our work we identify four challenges to solve to handle software systems deployment. The first challenge is about to initiate consensus for standard generic software deployment lan- guage. The second challenge consists in static verification of software deployment processes described using this language. These verifications are supposed to ensure the coherency of the described deployment process. Third challenge is about implementing middleware plat- form able to interpret this language and perform deployment of any software system. Finally fourth challenge is to transpose these deployment processes into open distributed environe- ments which are fluctuating, such as ubiquitous and grid environments. Our contribution then consists to define a distributed systems deployment process divided in four roles to handle these challenges : the network expert, the software expert, system administrator and business architect. On the one hand, the DeployWare approach is defined by a multi-roles metamodel to describe deployment of the middleware layer of a system, and by the virtual machine able to automatically execute the described deployment, in conformance with the model driven en- gineering. Using a metamodeling language allows to implement static verification programs of the deployment models. On the other side, the DACAR approach proposes a generic ar- chitecture model to express and execute the deployment of a component-based application. The DeployWare and DACAR approaches allows to take into account during the deployment description, the open distributed environments properties, in conformance with the autonomic computing approach. Our contribution is validated through many experiences in ubiquitous environments and in enterprise services world.Le déploiement reste l'une des étapes du cycle de vie des logiciels la moins standardisée et outillée à ce jour. Dans ce travail, nous identifions quatre grands défis à relever pour dé- ployer des systèmes logiciels distribués et hétérogènes. Le premier défi est de réussir à initier le consensus manquant autour d'un langage générique de déploiement de logiciels. Le deuxième défi consiste en la vérification statique de déploiements logiciels décrits dans ce langage pour assurer un déroulement correct avant d'exécuter les opérations de déploiement. Le troisième défi est de réaliser une plate-forme intergicielle capable d'interpréter ce langage et d'effectuer le déploiement de n'importe quel système logiciel réparti. Enfin le quatrième défi est d'appli- quer ces déploiements de systèmes dans les environnements ouverts distribués, c'est-à-dire les réseaux fluctuants et à grande échelle comme les réseaux ubiquitaires ou les grilles de calcul. Notre contribution consiste à définir une démarche de déploiement de systèmes distribués cen- trée sur quatre rôles pour relever ces défis : l'expert réseau, l'expert logiciel, l'administrateur système et l'architecte métier. D'un côté, l'approche DeployWare, conforme à l'ingénierie des modèles, est définie par un méta-modèle multi-rôles pour décrire le déploiement de la couche intergicielle du système ainsi que par une machine virtuelle capable d'exécuter automatique- ment le déploiement de cette couche. L'utilisation d'un langage de méta-modélisation permet d'écrire des programmes de vérification statique des modèles de déploiement. De l'autre côté, l'approche DACAR propose un méta-modèle d'architecture générique pour exprimer et exé- cuter le déploiement d'une application métier à base de composants. Cette double approche DeployWare/DACAR permet de prendre en compte, lors de la description du déploiement, les propriétés des environnements ouverts distribués selon une approche conforme à l'informatique auto-gérée. Notre contribution est validée par plusieurs expériences pour valider la capacité de prise en charge des environnements ouverts ubiquitaires, et pour éprouver l'hétérogénéité des technologies déployables dans le monde des services d'entreprise

    A model-based approach for deployment of software systems in open distributed environments

    Get PDF
    Le déploiement est l'étape du cycle de vie des logiciels la moins standardisée et outillée à ce jour. Nous identifions quatre défis à relever pour déployer des systèmes logiciels distribués et hétérogènes. Le premier est de créer un langage générique de déploiement de logiciels. Le deuxième consiste en la vérification statique de déploiements logiciels décrits dans ce langage pour assurer un déroulement correct avant d'en exécuter. Le troisième est de réaliser une plate-forme capable d'interpréter ce langage et d'effectuer le déploiement de n'importe quel système logiciel réparti. Le quatrième est d'appliquer ces déploiements de systèmes dans les environnements ouverts distribués, c'est-à-dire les réseaux fluctuants comme les réseaux ubiquitaires. Nous définissons une démarche de déploiement de systèmes distribués centrée sur quatre rôles pour relever ces défis. L'approche DeployWare, conforme à l'ingénierie des modèles, permet de décrire le déploiement de la couche intergicielle du système et d'exécuter automatiquement le déploiement de cette couche. L'utilisation d'un langage de méta-modélisation permet d'écrire des programmes de vérification statique des modèles. L'approche DACAR propose un méta-modèle d'architecture générique pour exprimer et exécuter le déploiement d'une application métier à base de composants. Cette double approche DeployWare/DACAR permet de prendre en compte les propriétés des environnements ouverts distribués selon une approche conforme à l'informatique auto-gérée. Notre contribution est validée par plusieurs expériences pour le domaine des environnements ouverts ubiquitaires, et pour celui des services d'entreprise.Deployment is one of the most difficult software lifecycle step, and the less standardized. We identify four challenges to solve to handle software systems deployment. The first is about to initiate consensus for standard generic software deployment language. The second consists in static verification of software deployment processes described using this language. These verifications are supposed to ensure the coherency of the described deployment process. The third is about implementing platform able to interpret this language and perform deployment of any software system. The fourth is to transpose these deployment processes into open distributed environements which are fluctuating, such as ubiquitous environments. Then we define a distributed systems deployment process divided in four roles to handle these challenges. The DeployWare approach allows to describe deployment of the middleware layer of a system and to automatically execute the described deployment, in conformance with the model driven engineering. Using a metamodeling language allows to implement static verification programs of the deployment models. The DACAR approach proposes a generic architecture model to express and execute the deployment of a component-based application. The DeployWare and DACAR approaches allows to take into account during the deployment description, the open distributed environments properties, in conformance with the autonomic computing approach. Our contribution is validated through many experiences in ubiquitous environments and in enterprise services world

    A model-based approach for deployment of software systems in open distributed environments

    No full text
    Le déploiement est l'étape du cycle de vie des logiciels la moins standardisée et outillée à ce jour. Nous identifions quatre défis à relever pour déployer des systèmes logiciels distribués et hétérogènes. Le premier est de créer un langage générique de déploiement de logiciels. Le deuxième consiste en la vérification statique de déploiements logiciels décrits dans ce langage pour assurer un déroulement correct avant d'en exécuter. Le troisième est de réaliser une plate-forme capable d'interpréter ce langage et d'effectuer le déploiement de n'importe quel système logiciel réparti. Le quatrième est d'appliquer ces déploiements de systèmes dans les environnements ouverts distribués, c'est-à-dire les réseaux fluctuants comme les réseaux ubiquitaires. Nous définissons une démarche de déploiement de systèmes distribués centrée sur quatre rôles pour relever ces défis. L'approche DeployWare, conforme à l'ingénierie des modèles, permet de décrire le déploiement de la couche intergicielle du système et d'exécuter automatiquement le déploiement de cette couche. L'utilisation d'un langage de méta-modélisation permet d'écrire des programmes de vérification statique des modèles. L'approche DACAR propose un méta-modèle d'architecture générique pour exprimer et exécuter le déploiement d'une application métier à base de composants. Cette double approche DeployWare/DACAR permet de prendre en compte les propriétés des environnements ouverts distribués selon une approche conforme à l'informatique auto-gérée. Notre contribution est validée par plusieurs expériences pour le domaine des environnements ouverts ubiquitaires, et pour celui des services d'entreprise.Deployment is one of the most difficult software lifecycle step, and the less standardized. We identify four challenges to solve to handle software systems deployment. The first is about to initiate consensus for standard generic software deployment language. The second consists in static verification of software deployment processes described using this language. These verifications are supposed to ensure the coherency of the described deployment process. The third is about implementing platform able to interpret this language and perform deployment of any software system. The fourth is to transpose these deployment processes into open distributed environements which are fluctuating, such as ubiquitous environments. Then we define a distributed systems deployment process divided in four roles to handle these challenges. The DeployWare approach allows to describe deployment of the middleware layer of a system and to automatically execute the described deployment, in conformance with the model driven engineering. Using a metamodeling language allows to implement static verification programs of the deployment models. The DACAR approach proposes a generic architecture model to express and execute the deployment of a component-based application. The DeployWare and DACAR approaches allows to take into account during the deployment description, the open distributed environments properties, in conformance with the autonomic computing approach. Our contribution is validated through many experiences in ubiquitous environments and in enterprise services world
    corecore